<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>CRUD代码生成 | BuildAdmin</title>
    <meta name="generator" content="VuePress 1.9.7">
    <link rel="icon" href="/images/favicon.ico">
    <meta name="description" content="使用流行技术栈快速创建商业级后台管理系统-BuildAdmin是基于TP6、Vue3.x、Typescript、Vite、Pinia、Element plus等的开源后台系统">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="keywords" content="BuildAdmin,ThinkPHP6通用后台,Vue3后台,BuildAdmin文档,vue3开源后台,vue3模板与案例市场">
    <meta name="author" content="妙码生花">
    <meta name="robots" content="all,follow">
    
    <link rel="preload" href="/assets/css/0.styles.76db4400.css" as="style"><link rel="preload" href="/assets/js/app.26dfc26f.js" as="script"><link rel="preload" href="/assets/js/2.845fc4bd.js" as="script"><link rel="preload" href="/assets/js/62.831c810e.js" as="script"><link rel="prefetch" href="/assets/js/10.31502a42.js"><link rel="prefetch" href="/assets/js/11.c0667200.js"><link rel="prefetch" href="/assets/js/12.0022daab.js"><link rel="prefetch" href="/assets/js/13.496b9007.js"><link rel="prefetch" href="/assets/js/14.57a77bc0.js"><link rel="prefetch" href="/assets/js/15.a2ee4fc7.js"><link rel="prefetch" href="/assets/js/16.7050523a.js"><link rel="prefetch" href="/assets/js/17.c4c5529f.js"><link rel="prefetch" href="/assets/js/18.f0350247.js"><link rel="prefetch" href="/assets/js/19.60586b14.js"><link rel="prefetch" href="/assets/js/20.4c6361b4.js"><link rel="prefetch" href="/assets/js/21.f793d386.js"><link rel="prefetch" href="/assets/js/22.299fa3b0.js"><link rel="prefetch" href="/assets/js/23.460af9b1.js"><link rel="prefetch" href="/assets/js/24.67771dfc.js"><link rel="prefetch" href="/assets/js/25.57b0bfa7.js"><link rel="prefetch" href="/assets/js/26.30e9faee.js"><link rel="prefetch" href="/assets/js/27.15ffda62.js"><link rel="prefetch" href="/assets/js/28.4ca46604.js"><link rel="prefetch" href="/assets/js/29.09a58cb6.js"><link rel="prefetch" href="/assets/js/3.959fd4f8.js"><link rel="prefetch" href="/assets/js/30.c53f15cb.js"><link rel="prefetch" href="/assets/js/31.0d30028e.js"><link rel="prefetch" href="/assets/js/32.4591b41b.js"><link rel="prefetch" href="/assets/js/33.bd9ed146.js"><link rel="prefetch" href="/assets/js/34.0bedaafb.js"><link rel="prefetch" href="/assets/js/35.dded2c4a.js"><link rel="prefetch" href="/assets/js/36.3f14f7ef.js"><link rel="prefetch" href="/assets/js/37.348ab3dc.js"><link rel="prefetch" href="/assets/js/38.bea67b35.js"><link rel="prefetch" href="/assets/js/39.66735bad.js"><link rel="prefetch" href="/assets/js/4.a7dad9f3.js"><link rel="prefetch" href="/assets/js/40.24ae817d.js"><link rel="prefetch" href="/assets/js/41.20484420.js"><link rel="prefetch" href="/assets/js/42.d2d9cf07.js"><link rel="prefetch" href="/assets/js/43.638926f9.js"><link rel="prefetch" href="/assets/js/44.5b2e8865.js"><link rel="prefetch" href="/assets/js/45.b08599e3.js"><link rel="prefetch" href="/assets/js/46.3e165b3e.js"><link rel="prefetch" href="/assets/js/47.0f981d94.js"><link rel="prefetch" href="/assets/js/48.52c21e5e.js"><link rel="prefetch" href="/assets/js/49.5d5d4c94.js"><link rel="prefetch" href="/assets/js/5.2d6b30a8.js"><link rel="prefetch" href="/assets/js/50.379ba4f0.js"><link rel="prefetch" href="/assets/js/51.4f4ecaea.js"><link rel="prefetch" href="/assets/js/52.81ccb047.js"><link rel="prefetch" href="/assets/js/53.419686cb.js"><link rel="prefetch" href="/assets/js/54.783cb319.js"><link rel="prefetch" href="/assets/js/55.110fde12.js"><link rel="prefetch" href="/assets/js/56.53900e45.js"><link rel="prefetch" href="/assets/js/57.55cd3551.js"><link rel="prefetch" href="/assets/js/58.2b82c178.js"><link rel="prefetch" href="/assets/js/59.fec4fe12.js"><link rel="prefetch" href="/assets/js/6.4e9a5a2e.js"><link rel="prefetch" href="/assets/js/60.99354f6f.js"><link rel="prefetch" href="/assets/js/61.c528c138.js"><link rel="prefetch" href="/assets/js/63.9923d5c6.js"><link rel="prefetch" href="/assets/js/64.01b9c0fd.js"><link rel="prefetch" href="/assets/js/65.1288d968.js"><link rel="prefetch" href="/assets/js/66.f7c8aabd.js"><link rel="prefetch" href="/assets/js/67.89455afa.js"><link rel="prefetch" href="/assets/js/68.ca185a9e.js"><link rel="prefetch" href="/assets/js/69.dfe2288f.js"><link rel="prefetch" href="/assets/js/7.58476ce6.js"><link rel="prefetch" href="/assets/js/70.ea823c37.js"><link rel="prefetch" href="/assets/js/71.9e222b70.js"><link rel="prefetch" href="/assets/js/72.77b15e17.js"><link rel="prefetch" href="/assets/js/73.f42962da.js"><link rel="prefetch" href="/assets/js/74.a2912f27.js"><link rel="prefetch" href="/assets/js/75.8db3af79.js"><link rel="prefetch" href="/assets/js/76.45426b7e.js"><link rel="prefetch" href="/assets/js/77.a5d8ef7a.js"><link rel="prefetch" href="/assets/js/78.cfcdd83a.js"><link rel="prefetch" href="/assets/js/79.d8b5e327.js"><link rel="prefetch" href="/assets/js/8.419e773f.js"><link rel="prefetch" href="/assets/js/80.a64f0503.js"><link rel="prefetch" href="/assets/js/9.633ba216.js">
    <link rel="stylesheet" href="/assets/css/0.styles.76db4400.css">
  </head>
  <body>
    <div id="app" data-server-rendered="true"><div class="theme-container max-content"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><img src="/images/logo.png" alt="BuildAdmin" class="logo"> <span class="site-name can-hide">BuildAdmin</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/guide/" class="nav-link">
  指南
</a></div><div class="nav-item"><a href="/senior/" class="nav-link router-link-active">
  进阶
</a></div><div class="nav-item"><a href="https://buildadmin.com" target="_blank" rel="noopener noreferrer" class="nav-link external">
  官网
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://demo.buildadmin.com" target="_blank" rel="noopener noreferrer" class="nav-link external">
  线上演示
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="代码仓库" class="dropdown-title"><span class="title">代码仓库</span> <span class="arrow down"></span></button> <button type="button" aria-label="代码仓库" class="mobile-dropdown-title"><span class="title">代码仓库</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://gitee.com/wonderful-code/buildadmin" target="_blank" rel="noopener noreferrer" class="nav-link external">
  Gitee
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://github.com/build-admin/buildadmin" target="_blank" rel="noopener noreferrer" class="nav-link external">
  GitHub
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div><div class="nav-item"><a href="/fastadmin.html" class="nav-link">
  🎉FastAdmin
</a></div><div class="nav-item"><a href="https://gitee.com/wonderful-code/buildadmin/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="nav-link external">
  更新日志
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <a href="https://gitee.com/wonderful-code/build-admin-doc" target="_blank" rel="noopener noreferrer" class="repo-link">
    文档仓库
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/guide/" class="nav-link">
  指南
</a></div><div class="nav-item"><a href="/senior/" class="nav-link router-link-active">
  进阶
</a></div><div class="nav-item"><a href="https://buildadmin.com" target="_blank" rel="noopener noreferrer" class="nav-link external">
  官网
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><a href="https://demo.buildadmin.com" target="_blank" rel="noopener noreferrer" class="nav-link external">
  线上演示
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="代码仓库" class="dropdown-title"><span class="title">代码仓库</span> <span class="arrow down"></span></button> <button type="button" aria-label="代码仓库" class="mobile-dropdown-title"><span class="title">代码仓库</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="https://gitee.com/wonderful-code/buildadmin" target="_blank" rel="noopener noreferrer" class="nav-link external">
  Gitee
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li><li class="dropdown-item"><!----> <a href="https://github.com/build-admin/buildadmin" target="_blank" rel="noopener noreferrer" class="nav-link external">
  GitHub
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ul></div></div><div class="nav-item"><a href="/fastadmin.html" class="nav-link">
  🎉FastAdmin
</a></div><div class="nav-item"><a href="https://gitee.com/wonderful-code/buildadmin/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer" class="nav-link external">
  更新日志
  <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <a href="https://gitee.com/wonderful-code/build-admin-doc" target="_blank" rel="noopener noreferrer" class="repo-link">
    文档仓库
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav>  <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>起步</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/senior/" aria-current="page" class="sidebar-link">后台交互</a></li><li><a href="/senior/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><a href="/senior/oneClickCRUD.html" aria-current="page" class="active sidebar-link">CRUD代码生成</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#准备工作" class="sidebar-link">准备工作</a></li><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#快速体验" class="sidebar-link">快速体验</a></li><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#常用命令" class="sidebar-link">常用命令</a></li><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#常用参数" class="sidebar-link">常用参数</a></li><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#后缀识别参数" class="sidebar-link">后缀识别参数</a></li><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#参数输入方法" class="sidebar-link">参数输入方法</a></li><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#表格渲染方案" class="sidebar-link">表格渲染方案</a></li><li class="sidebar-sub-header"><a href="/senior/oneClickCRUD.html#常见问题" class="sidebar-link">常见问题</a></li></ul></li><li><a href="/senior/databaseSpecification.html" class="sidebar-link">数据表设计规范</a></li><li><a href="/senior/multilingual.html" class="sidebar-link">国际化（多语言）</a></li><li><a href="/senior/addMenuRule.html" class="sidebar-link">菜单规则（路由与权限）</a></li><li><a href="/senior/faq.html" class="sidebar-link">常见问题</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>WEB端专项</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/senior/web/icon.html" class="sidebar-link">字体图标</a></li><li><a href="/senior/web/axios.html" class="sidebar-link">网络请求</a></li><li><a href="/senior/web/stores.html" class="sidebar-link">状态管理</a></li><li><a href="/senior/web/formItem.html" class="sidebar-link">表单项目组件（formItem）</a></li><li><a href="/senior/web/baInput.html" class="sidebar-link">输入组件（baInput）</a></li><li><a href="/senior/web/baTable.html" class="sidebar-link">表格组件（table）</a></li><li><a href="/senior/web/terminal.html" class="sidebar-link">WEB终端组件</a></li><li><a href="/senior/web/formValidation.html" class="sidebar-link">表单验证</a></li><li><a href="/senior/web/directives.html" class="sidebar-link">内置指令</a></li><li><a href="/senior/web/utils.html" class="sidebar-link">辅助工具/函数</a></li><li><a href="/senior/web/styles.html" class="sidebar-link">CSS/SCSS样式</a></li><li><a href="/senior/web/justNeedWeb.html" class="sidebar-link">只需要WEB端</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>WebNuxt专项（SSR）</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/senior/nuxt/intro.html" class="sidebar-link">介绍</a></li><li><a href="/senior/nuxt/directoryStructure.html" class="sidebar-link">目录结构</a></li><li><a href="/senior/nuxt/request.html" class="sidebar-link">网络请求</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Server端专项</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/senior/server/debug.html" class="sidebar-link">开启调试</a></li><li><a href="/senior/server/apiDebug.html" class="sidebar-link">调试接口</a></li><li><a href="/senior/server/config.html" class="sidebar-link">配置</a></li><li><a href="/senior/server/controller.html" class="sidebar-link">控制器</a></li><li><a href="/senior/server/captcha.html" class="sidebar-link">验证码</a></li><li><a href="/senior/server/dataLImit.html" class="sidebar-link">数据权限控制</a></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>模块开发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/senior/module/start.html" class="sidebar-link">开始</a></li><li><a href="/senior/module/basicInfo.html" class="sidebar-link">模块基本信息</a></li><li><a href="/senior/module/directoryStructure.html" class="sidebar-link">模块目录结构</a></li><li><a href="/senior/module/configJson.html" class="sidebar-link">模块基本配置</a></li><li><a href="/senior/module/installSql.html" class="sidebar-link">模块安装SQL</a></li><li><a href="/senior/module/coreController.html" class="sidebar-link">模块核心控制器</a></li><li><a href="/senior/module/event.html" class="sidebar-link">模块行为事件</a></li><li><a href="/senior/module/webBootstrap.html" class="sidebar-link">向 main.ts 插入代码</a></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="crud代码生成"><a href="#crud代码生成" class="header-anchor">#</a> CRUD代码生成</h1> <div class="custom-block tip"><p class="custom-block-title">简介</p> <p><code>CRUD</code>是增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写，<code>BuildAdmin</code>实现了一键生成CRUD代码的功能，请参考下方介绍使用。</p></div> <div class="custom-block warning"><p class="custom-block-title">WARNING</p> <p>从<code>v1.0.9</code>开始，系统已经不再内置本功能，改为内置<code>可视化CRUD代码生成</code>，通过后台即可打开CRUD设计器，通常无需阅读本文档；而新版本若需继续使用以下的命令行CRUD，请在模块市场安装。</p></div> <h2 id="准备工作"><a href="#准备工作" class="header-anchor">#</a> 准备工作</h2> <ol><li>建立好数据表，<a href="https://wonderful-code.gitee.io/senior/databaseSpecification.html" target="_blank" rel="noopener noreferrer">数据表设计规范参考<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></li></ol> <h2 id="快速体验"><a href="#快速体验" class="header-anchor">#</a> 快速体验</h2> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 生成 test_build 表的CRUD代码，同时生成后台菜单</span>
php think crud <span class="token parameter variable">-t</span> test_build
</code></pre></div><p>由于会生成<code>vue</code>文件，需要在<code>web终端</code>点击重新发布后，才能打开菜单，我们建议您直接部署<a href="https://wonderful-code.gitee.io/guide/other/developerMustSee.html#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83" target="_blank" rel="noopener noreferrer">开发环境<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a>。</p> <h2 id="常用命令"><a href="#常用命令" class="header-anchor">#</a> 常用命令</h2> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token comment"># 生成 test_build 表的CRUD，同时生成后台菜单（权限节点）</span>
php think crud <span class="token parameter variable">-t</span> test_build

<span class="token comment"># 删除 test_build 表生成的CRUD代码</span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-d</span> <span class="token number">1</span>

<span class="token comment"># 生成 test_build 表的CRUD且控制器、视图等代码文件生成在指定目录下（指定控制器名称）</span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-c</span> test/build
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-c</span> mysite/build
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-c</span> mysiteBuild

<span class="token comment"># 删除生成在指定目录下的 test_build 表的CRUD代码</span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-c</span> mysite/build <span class="token parameter variable">-d</span> <span class="token number">1</span>

<span class="token comment"># 生成 test_build 表的CRUD且对应的模型名为 testmodel（指定模型名称）</span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-m</span> testmodel
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-m</span> test/model

<span class="token comment"># 生成 test_build 表的CRUD，关联 user 表，外键为user_id主键为id </span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-r</span> user <span class="token parameter variable">-k</span> user_id <span class="token parameter variable">-p</span> <span class="token function">id</span>

<span class="token comment"># 生成 test_build 表的CRUD，关联 user 表，关联 admin 表，并分别指定主键和外键</span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-r</span> user <span class="token parameter variable">-k</span> user_id <span class="token parameter variable">-p</span> <span class="token function">id</span> <span class="token parameter variable">-r</span> admin <span class="token parameter variable">-k</span> admin_id <span class="token parameter variable">-p</span> <span class="token function">id</span>

<span class="token comment"># 生成 test_build 表的CRUD，且将所有以 image 和 img 结尾的字段识别为图片上传组件</span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">--imagefieldsuffix</span><span class="token operator">=</span>image <span class="token parameter variable">--imagefieldsuffix</span><span class="token operator">=</span>img
</code></pre></div><h2 id="常用参数"><a href="#常用参数" class="header-anchor">#</a> 常用参数</h2> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token parameter variable">-t</span>  <span class="token parameter variable">--table</span>                 表名，带不带数据表前缀均可，必填

<span class="token comment"># 以下参数均为可选的</span>
<span class="token parameter variable">-c</span>  <span class="token parameter variable">--controller</span>            自定义控制器名
<span class="token parameter variable">-m</span>  <span class="token parameter variable">--model</span>                 自定义模型名
<span class="token parameter variable">-f</span>  <span class="token parameter variable">--fields</span>                显示的字段，默认全部字段 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">-o</span>  <span class="token parameter variable">--commonmodel</span>           是否将模型生成在common模块下 <span class="token punctuation">(</span>bool<span class="token punctuation">)</span>
<span class="token parameter variable">-r</span>  <span class="token parameter variable">--relation</span>              关联模型表名，带不带数据表前缀均可 <span class="token punctuation">(</span>multi<span class="token punctuation">)</span>
<span class="token parameter variable">-e</span>  <span class="token parameter variable">--relationmodel</span>         生成的关联模型名，默认根据关联表解析 <span class="token punctuation">(</span>multi<span class="token punctuation">)</span>
<span class="token parameter variable">-k</span>  <span class="token parameter variable">--relationforeignkey</span>    关联表外键，默认使用 模型_id <span class="token punctuation">(</span>multi<span class="token punctuation">)</span>
<span class="token parameter variable">-p</span>  <span class="token parameter variable">--relationprimarykey</span>    关联表主键，默认读取表主键 <span class="token punctuation">(</span>multi<span class="token punctuation">)</span>
<span class="token parameter variable">-l</span>  <span class="token parameter variable">--relationfields</span>        关联模型显示的字段，默认全部 <span class="token punctuation">(</span>multi<span class="token punctuation">)</span>
<span class="token parameter variable">-a</span>  <span class="token parameter variable">--relationmode</span>          关联模式,hasone或belongsto，默认 belongsto <span class="token punctuation">(</span>multi<span class="token punctuation">)</span>
<span class="token parameter variable">-s</span>  <span class="token parameter variable">--remoteselectfield</span>     关联表远程select组件的显示字段名，默认 name <span class="token punctuation">(</span>multi<span class="token punctuation">)</span>
<span class="token parameter variable">-d</span>  <span class="token parameter variable">--delete</span>                删除之前生成的CRUD文件 <span class="token punctuation">(</span>bool<span class="token punctuation">)</span>
<span class="token parameter variable">--db</span>                        多数据库支持，此处填写<span class="token variable"><span class="token variable">`</span>config/database/connections<span class="token variable">`</span></span>中配置的数组 key，默认 mysql
<span class="token parameter variable">--quicksearchfield</span>          表格的快速搜索字段设置，默认<span class="token string">'id'</span> <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--sortfield</span>                 表格默认排序字段设置，默认值为<span class="token string">'weigh,desc'</span>或<span class="token string">'主键,desc'</span>，只可以设置一个字段
<span class="token parameter variable">--ignorefields</span>              要排除的字段 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--force</span>                     是否为覆盖模式，非覆盖模式文件冲突时会有提示 <span class="token punctuation">(</span>bool<span class="token punctuation">)</span>
</code></pre></div><h2 id="后缀识别参数"><a href="#后缀识别参数" class="header-anchor">#</a> 后缀识别参数</h2> <div class="language-bash extra-class"><pre class="language-bash"><code><span class="token parameter variable">--radiofieldsuffix</span>              自动生成单选框的字段名称后缀 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--checkboxfieldsuffix</span>           自动生成 复选框 的字段名称后缀 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--datetimefieldsuffix</span>           生成 时间日期 字段名称后缀 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--switchfieldsuffix</span>             生成 开关 字段后缀 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--editorfieldsuffix</span>             富文本编辑器 后缀 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--textareafieldsuffix</span>           Textarea <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--cityfieldsuffix</span>               城市选择器 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--remoteselectfieldsuffix</span>       远程select <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--arrayfieldsuffix</span>              Array输入组件 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--imagefieldsuffix</span>              图片上传 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--imagesfieldsuffix</span>             图片上传<span class="token punctuation">(</span>多图<span class="token punctuation">)</span> <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--filefieldsuffix</span>               文件上传 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--filesfieldsuffix</span>              文件上传<span class="token punctuation">(</span>多文件<span class="token punctuation">)</span> <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--numberfieldsuffix</span>             数字输入框 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--selectfieldsuffix</span>             select<span class="token punctuation">(</span>单选<span class="token punctuation">)</span> <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--selectsfieldsuffix</span>            select<span class="token punctuation">(</span>多选<span class="token punctuation">)</span> <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
<span class="token parameter variable">--iconfieldsuffix</span>               icon选择器 <span class="token punctuation">(</span>array<span class="token punctuation">)</span>
</code></pre></div><h2 id="参数输入方法"><a href="#参数输入方法" class="header-anchor">#</a> 参数输入方法</h2> <p>参数有多种类型，此处对各种类型的参数的输入方法进行解释</p> <h4 id="array-表示接受数组类型的参数-输入方式有两种-示例如下"><a href="#array-表示接受数组类型的参数-输入方式有两种-示例如下" class="header-anchor">#</a> (array): 表示接受数组类型的参数，输入方式有两种，示例如下：</h4> <div class="language-bash extra-class"><pre class="language-bash"><code>php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">--fields</span><span class="token operator">=</span>id,title,views,price
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">--fields</span><span class="token operator">=</span>id <span class="token parameter variable">--fields</span><span class="token operator">=</span>title <span class="token parameter variable">--fields</span><span class="token operator">=</span>views <span class="token parameter variable">--fields</span><span class="token operator">=</span>price
</code></pre></div><h4 id="bool-表示接受布尔值类型的参数-示例如下"><a href="#bool-表示接受布尔值类型的参数-示例如下" class="header-anchor">#</a> (bool): 表示接受布尔值类型的参数，示例如下：</h4> <div class="language-bash extra-class"><pre class="language-bash"><code>php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-o</span> <span class="token number">1</span>
php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-o</span> <span class="token number">0</span>

<span class="token comment"># 为1时，代表真，执行对应参数的逻辑</span>
<span class="token comment"># 为0时，代表假，通常程序会忽略此参数</span>
</code></pre></div><h4 id="multi-关联表相关的参数使用了此类型-表示可以分开的多次输入"><a href="#multi-关联表相关的参数使用了此类型-表示可以分开的多次输入" class="header-anchor">#</a> (multi): 关联表相关的参数使用了此类型，表示可以分开的多次输入：</h4> <div class="language-bash extra-class"><pre class="language-bash"><code>php think crud <span class="token parameter variable">-t</span> test_build <span class="token parameter variable">-r</span> user <span class="token parameter variable">-k</span> user_id <span class="token parameter variable">-p</span> <span class="token function">id</span> <span class="token parameter variable">-r</span> admin <span class="token parameter variable">-k</span> admin_id <span class="token parameter variable">-p</span> <span class="token function">id</span>

<span class="token comment"># 其中的 -r -p -k 就是(multi)类型的参数，它们在以上命令分别出现了两次</span>
<span class="token comment"># 这看起来有点像(array)，但是，这类参数不支持使用','号分隔多个值</span>
</code></pre></div><h4 id="无类型注释的参数-输入字符串类型的值即可"><a href="#无类型注释的参数-输入字符串类型的值即可" class="header-anchor">#</a> 无类型注释的参数，输入字符串类型的值即可：</h4> <div class="language-bash extra-class"><pre class="language-bash"><code>php think crud <span class="token parameter variable">-t</span> test_build
</code></pre></div><h2 id="表格渲染方案"><a href="#表格渲染方案" class="header-anchor">#</a> 表格渲染方案</h2> <p>下表描述了表格字段的渲染规则<br>
三个要求中的一个满足，则应用<code>渲染</code>、<code>宽度</code>、<code>排序</code>等</p> <table><thead><tr><th style="text-align:center;">字段名要求</th> <th style="text-align:center;">字段输入框类型要求</th> <th style="text-align:center;">字段后缀要求</th> <th style="text-align:center;">渲染为</th> <th style="text-align:center;">宽度</th> <th style="text-align:center;">排序</th> <th style="text-align:center;">隐藏</th> <th style="text-align:center;">搜索配置</th></tr></thead> <tbody><tr><td style="text-align:center;">id</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;">70</td> <td style="text-align:center;">是</td> <td style="text-align:center;"></td> <td style="text-align:center;">范围搜索</td></tr> <tr><td style="text-align:center;">weigh</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;">是</td> <td style="text-align:center;"></td> <td style="text-align:center;">禁用</td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">number</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;">范围搜索</td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">datetime</td> <td style="text-align:center;"></td> <td style="text-align:center;">时间日期</td> <td style="text-align:center;">160</td> <td style="text-align:center;">是</td> <td style="text-align:center;"></td> <td style="text-align:center;">范围搜索</td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">switch</td> <td style="text-align:center;"></td> <td style="text-align:center;">开关</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">image</td> <td style="text-align:center;">avatar</td> <td style="text-align:center;">单图</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">images</td> <td style="text-align:center;">avatars</td> <td style="text-align:center;">多图</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">icon</td> <td style="text-align:center;"></td> <td style="text-align:center;">图标</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">url</td> <td style="text-align:center;"></td> <td style="text-align:center;">url</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">radio/select</td> <td style="text-align:center;">flag</td> <td style="text-align:center;">标签</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">checkbox/selects</td> <td style="text-align:center;">flags</td> <td style="text-align:center;">多个标签</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td></tr> <tr><td style="text-align:center;"></td> <td style="text-align:center;">textarea/editor/file/files/array</td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;"></td> <td style="text-align:center;">是</td> <td style="text-align:center;"></td></tr></tbody></table> <p>另外，不同的输入框类型，可能会有默认的<code>搜索配置</code>，比如开关，会生成一个<code>开</code>和<code>关</code>的单选<code>select</code></p> <h2 id="常见问题"><a href="#常见问题" class="header-anchor">#</a> 常见问题</h2> <h4 id="关联表的远程select网络错误"><a href="#关联表的远程select网络错误" class="header-anchor">#</a> 关联表的远程select网络错误</h4> <ol><li>找到刚刚生成后台功能对应的<code>popupForm.vue</code>文件</li> <li>找到关联字段的远程select组件，该组件<code>type=&quot;remoteSelect&quot;</code></li> <li>参考以下代码的注释对远程select的参数进行调整</li></ol> <div class="language-vue extra-class"><pre class="language-vue"><code>import { authGroup } from '/@/api/controllerUrls'

<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>FormItem</span>
    <span class="token attr-name">:label</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>t('auth.admin.grouping')<span class="token punctuation">&quot;</span></span>
    <span class="token attr-name">v-model</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>baTable.form.items!.group_arr<span class="token punctuation">&quot;</span></span>
    <span class="token attr-name">type</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>remoteSelect<span class="token punctuation">&quot;</span></span>
    <span class="token attr-name">:input-attr</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">&quot;</span>{
        // 确定此字段为关联表的主键，作为select选项的value
        pk: 'id',
        // 确定此字段为关联表的字段之一，作为select选项的label
        field: 'name',
        // 确定此字段为关联表对应的控制器的`index`方法的Url，比如admin表的控制器URL为`index.php/admin/auth.admin/index`
        // 若生成过关联表的CRUD代码，则该URL地址可以从`/@/api/controllerUrls`导入使用，如下面的 authGroup
        // 若生成过关联表的CRUD代码，则该URL地址等于该表后台管理的`查看`操作请求的URL
        'remote-url': authGroup + 'index',
        placeholder: t('Click Select'),
    }<span class="token punctuation">&quot;</span></span>
<span class="token punctuation">/&gt;</span></span>
</code></pre></div><ol start="4"><li>为什么此字段有时不能自动填充？您生成crud的命令可能为<code>-t aaa -c aaa/ccc/dddd -m eee/ffff</code>，此时您再生成<code>-t goods -r aaa</code>，我们暂时不易确定<code>aaa</code>表控制器所在的位置，因此需要您自行进行填充，但后续我们将持续完善CRUD以期可以解决此问题。</li></ol> <h4 id="生成远程select多选-但提示主表需要-id字段"><a href="#生成远程select多选-但提示主表需要-id字段" class="header-anchor">#</a> 生成远程select多选，但提示主表需要<code>_id</code>字段</h4> <p>请指定<code>-k</code>参数即可</p></div> <footer class="page-edit"><div class="edit-link"><a href="https://gitee.com/wonderful-code/build-admin-doc/edit/master/docs/senior/oneClickCRUD.md" target="_blank" rel="noopener noreferrer">点此帮助我们改善此页面</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <div class="last-updated"><span class="prefix">上次更新:</span> <span class="time">2022/11/20 17:35:27</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
      ←
      <a href="/senior/directoryStructure.html" class="prev">
        目录结构
      </a></span> <span class="next"><a href="/senior/databaseSpecification.html">
        数据表设计规范
      </a>
      →
    </span></p></div> </main></div><div class="global-ui"></div></div>
    <script src="/assets/js/app.26dfc26f.js" defer></script><script src="/assets/js/2.845fc4bd.js" defer></script><script src="/assets/js/62.831c810e.js" defer></script>
  </body>
</html>
